package org.breathe.thread.pool.common.enums;

import lombok.Getter;

/**
 * 报警类型
 * @author: breathe
 * @createTime: 2025-04-09
 */
@Getter
public enum NotifyTypeEnum {
    /**
     * 配置变更类型
     */
    CHANGE("change"),

    /**
     * 线程池存活状态类型
     */
    LIVENESS("liveness"),

    /**
     * 线程池容量相关类型
     */
    CAPACITY("capacity"),

    /**
     * 任务被拒绝类型
     */
    REJECT("reject")
    ;
    /**
     * 名字
     */
    private final String value;
    NotifyTypeEnum(String value) {
        this.value = value;
    }

    /**
     * 通过名字来获取到对应的枚举类
     * @param value
     * @return
     */
    public static NotifyTypeEnum of(String value) {
        for (NotifyTypeEnum typeEnum : NotifyTypeEnum.values()) {
            if (typeEnum.value.equals(value)) {
                return typeEnum;
            }
        }
        return null;
    }
}
